jsx3.Class.defineClass(
        "tibco.admin.monitormanage.uicomponents.text.serviceUnitOverviewInfo.ServiceUnitOverviewInfo", //the full name of the class to create
        jsx3.gui.Block, //  extends
        null, // implements
        function (plugin) {
        
            plugin.prototype.init = function() {
                this.jsxsuper();
            }
            
            plugin.prototype.getNamespace = function() {
               return "tibco.admin";
            }
            
            plugin.prototype.setUpComponent = function() {
            	// this next nastiness is due to the asynchronous nature of the environment
            	// First try to load the info and see if the cache is ready...if not the
            	// page bus will send a message when the cache is ready.
            	var subject = tibco.admin.monitormanage.uicomponents.page.deployment.Deployment.serviceUnitInfoCacheSubject;
            	tibco.admin.monitormanage.general.PageBusUtils.subscribe(subject, this.loadContent, this);
            	
            	var serviceUnitInfoDoc = tibco.admin.Main.getServer().Cache.getDocument(tibco.admin.monitormanage.uicomponents.page.deployment.Deployment.serviceUnitInfoCacheId);
       		 	if(serviceUnitInfoDoc)
            	{ this.loadContent(null, null, this); }
            }
            
            plugin.prototype.loadContent = function(subject, message, infoObj) {
           		var serviceUnitInfoDoc = tibco.admin.Main.getServer().Cache.getDocument(tibco.admin.monitormanage.uicomponents.page.deployment.Deployment.serviceUnitInfoCacheId);
       		 	if(serviceUnitInfoDoc)
       		 	{
           			var record = serviceUnitInfoDoc.getFirstChild();
            			
           			var nameValueField = infoObj.getDescendantOfName("svcUntOvrvwInfoNameValue_MM_dply");
           			nameValueField.setText(record.getAttribute("name"));
           			nameValueField.repaint();

           			var typeValueField = infoObj.getDescendantOfName("svcUntOvrvwInfoTypeValue_MM_dply");
           			typeValueField.setText(record.getAttribute("type"));
           			typeValueField.repaint();

           			var versionValueField = infoObj.getDescendantOfName("svcUntOvrvwInfoVersionValue_MM_dply");
           			versionValueField.setText(record.getAttribute("version"));
           			versionValueField.repaint();
           		}
            }

        });